package llama.core;

import java.util.Date;

/**
 * This interface defines a message
 */
public interface IMessage {
	
	/**
	 * Gets the date of current message
	 * @return the date of current message
	 */
	public Date getDate();
	
	/**
	 * Gets the current message
	 * @return the current message
	 */
	public String getMessage();
	
	/**
	 * Gets the sender
	 * @return the sender
	 */
	public IUser getFromUser();
	
	/**
	 * Gets the receiver
	 * @return the receiver
	 */
	public IUser getToUser();
	
	/**
	 * Set to true if the message has been sent from the current user
	 * @param byMe true if the message has been sent from the current user 
	 */
	public void setMessageByMe(boolean byMe);
	
	/**
	 * Returns true if the message is sent by the current user
	 * @return true if the message is sent by the current user
	 */
	public boolean isMessageByMe();
	
	/**
	 * Set to true if the message has been sent
	 * @param sent true if the message has been sent
	 */
	public void setSent(boolean sent);
	
	/**
	 * Returns true if the message has been sent
	 * @return true if the message has been sent
	 */
	public boolean isSent();
}
